<%@page import="java.net.URLDecoder"%>
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>处理用户数据</title>
</head>
<body>
<h1>接收表单Get方法提交的数据</h1>
<p>接受用户提交的用户信息，然后直接将其回显给客户端</p>
<p>要用到几个内置的对象</p>
<ul>
<li>out - 向客户端发送信息</li>
<li>request - 请求，通过该对象可以获取请求该页面时传递过来的数据</li>
<li>response - 响应，通过该对象可以响应用户请求</li>
</ul>
<h3>注意：</h3>
<p>URL参数只有采用utf-8编码才能正确获取，对GBK编码会出现错误</p>
<p>对于GBK编码的处理流程应该如下：</p><ul>
<li>用request.getQueryString()获取URL参数</li>
<li>将URL参数用“&amp;”进行分割，获取每一个键值对</li>
<li>对每一个键值对，用“=”进行分割，获取键key及值value</li>
<li>分别对key及value按指定的编码用URLDecoder.decode()转换成字符串</li>
</ul><%
String xm=request.getParameter("xm");//对utf-8编码的URL参数没有问题，对GBK会出现乱码
String age=request.getParameter("age");
out.println("<p>姓名：【"+xm+"】</p>");
out.println("<p>年龄：【"+age+"】</p>");
//处理GBK编码的知识点展示
String queryString=request.getQueryString();//获取URL参数
out.println("<p>接收的参数："+queryString+"</p>");
String decodeQueryString=URLDecoder.decode(queryString, "gbk");//按GBK解码
out.println("<p>按GBK解码："+decodeQueryString+"</p>");
%>
</body>
</html>